/***************************************************************************
 *   Copyright (C) 2009 by Docteur Pierre-Marie Desombre.   *
 *   pm.desombre@medsyn.fr  *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU Library General Public License as       *
 *   published by the Free Software Foundation; either version 3 of the    *
 *   License, or (at your option) any later version.                       *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU Library General Public     *
 *   License along with this program; if not, write to the                 *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#ifndef COMMON_CONSTANTS_H
#define COMMON_CONSTANTS_H

namespace Constants {
    //program
    const char* const CALLING_PROGRAM = "calling_program/program";
    const char* const FIRSTTIME = "parametrage/firsttime";
    //database DrTux, if needed
    const char* const DATABASE_DRTUX = "databaseDrTux/name";
    const char* const HOST_DRTUX     = "databaseDrTux/host";
    const char* const USER_DRTUX     = "databaseDrTux/user";
    const char* const PASSWORD_DRTUX = "databaseDrTux/password";
    const char* const PORT_DRTUX     = "databaseDrTux/port";
    //database bmisurvey
    const char* const BMISURVEY          = "bmisurvey";
    const char* const DATABASE_BMISURVEY = "databaseBmiSurvey/name";
    const char* const HOST_BMISURVEY     = "databaseBmiSurvey/host";
    const char* const USER_BMISURVEY     = "databaseBmiSurvey/user";
    const char* const PASSWORD_BMISURVEY = "databaseBmiSurvey/password";
    const char* const PORT_BMISURVEY     = "databaseBmiSurvey/port";
    //bmi variation
    const char* const BMI_VARIATION = "bmi/variation";
    //tables
    const char* const NAMEINDEX_TABLE = "nameindex";
    const char* const WEIGHT_HEIGHT_TABLE = "weight_height";
    //files.csv of datas
    const char* const BMI_TWENTYFOR_DEUXHUNDREDANDFORTYONEMONTH = "zbmiage.csv";
    const char* const HEAD_CIRCUMFERENCE_ZERO_THIRTYSIX_MONTHS = "zhcageinf.csv";
    const char* const HEIGHT_ZERO_THIRTYSIX_MONTHS = "zlenageinf.csv";
    const char* const HEIGHT_TWENTYFOR_DEUXHUNDREDANDFORTYONEMONTH = "zstatage.csv";
    const char* const WEIGHT_TWENTYFOR_DEUXHUNDREDANDFORTYONEMONTH = "zwtage.csv";
    const char* const WEIGHT_ZERO_THIRTYSIX_MONTHS = "zwtageinf.csv";
    const char* const WEIGHT_LENGHT_INFANT = "zwtleninf.csv";    
    const char* const WEIGHT_LENGHT_CHILD = "zwtstat.csv";
    //position of curse widget
    const char* const X_POSITION = "position/height";
    const char* const Y_POSITION = "position/lenght";
    // width and height multiplicator
    const char* const X_MULTIPLIER = "multiplier/x";
    const char* const Y_MULTIPLIER = "multiplier/y";
    // drawings widths
    const char* const PATIENT_POINT_WIDTH = "drawing/patient_point";
    const char* const TWO_SD_WIDTH = "drawing/two_sd_line";
    const char* const ONE_AND_HALF_SD_WIDTH = "drawing/one_and_half_sd_line";
    const char* const ONE_SD_WIDTH = "drawing/one_sd_line";
    const char* const HALF_SD_WIDTH = "drawing/half_sd_line";
    const char* const AVERAGE_SD = "drawing/average_sd_line";
    const char* const LINES_WIDTH = "drawing/lines_width";
    //ADJUST lines vertical and horizontal
    const char* const ADJUST_VERTICAL_LINE = "drawing/adjust_vertical_line";
    
    
    enum DatasModelEnum {SEX = 0, DATE_OF_BIRTH_DATA, TODAY , DATE , WEIGHT, HEIGHT,MaxDatasModelEnum};

    enum nameindexFields {
        ID_NAMEINDEX = 0,
        UUID,
        NAME,
        FIRSTNAME,
        DATE_OF_BIRTH,
        GENDER,
        nameindexFieldsMaxParam
        };
    enum weightHeightFields {
        ID_WH = 0,
        WH_UUID,
        WH_WEIGHT,
        WH_HEIGHT,
        WH_INPUT_DATE
        };
    enum IndependantDatas {
        INDEPENDANT_DATAS_DATES = 0,
        INDEPENDANT_DATAS_WEIGHT,
        INDEPENDANT_DATAS_HEIGHT
        };
    enum IndependantPersonnalDatas {
        INDEPENDANT_PERSONNAL_DATAS_NAME = 0,
        INDEPENDANT_PERSONNAL_DATAS_FIRSTNAME,
        INDEPENDANT_PERSONNAL_DATAS_DATEOFBIRTH,
        INDEPENDANT_PERSONNAL_DATAS_SEX,
        INDEPENDANT_PERSONNAL_DATAS_DAY_WEIGHT,
        INDEPENDANT_PERSONNAL_DATAS_DAY_HEIGHT,
        INDEPENDANT_PERSONNAL_DATAS_OBSERVATION_DATE
        };
     //datas csv files
     //Sex	Type	-2	-1.5	-1	-0.5	0	0.5	1	1.5	2

    enum StandardDeviations {
        SD_SEX = 0,
        SD_MONTH,
        SD_LESS_TWO_SD,
        SD_LESS_ONE_AND_HALF_SD,
        SD_LESS_ONE_SD,
        SD_LESS_HALF_SD,
        SD_AVERAGE_SD,
        SD_PLUS_HALF_SD,
        SD_PLUS_ONE_SD,
        SD_PLUS_ONE_AND_HALF_SD,
        SD_PLUS_TWO_SD,
        SD_MaxParam
        };
}
#endif
